package com.emser.unc.client.service;

import java.util.ArrayList;

import com.emser.unc.serializable.NoSaleReportDTO;
import com.emser.unc.serializable.ProductSoldDTO;
import com.emser.unc.serializable.ResultDTO;
import com.emser.unc.serializable.SaleReportDTO;
import com.emser.unc.shared.exception.NotLoggedInException;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("ReportsService")
public interface ReportsService extends RemoteService {
	ResultDTO<SaleReportDTO> getSaleReports(String cursorString, int range, String userAccountName)throws NotLoggedInException;
	ResultDTO<NoSaleReportDTO> getSaleNoReports(String cursorString, int range,String userAccountName)throws NotLoggedInException;
	Integer getSaleReportCount(String userAccountName) throws NotLoggedInException;
	ResultDTO<ProductSoldDTO> getProductsSold(String cursorString, int range, Long idReport,String userAccountName)throws NotLoggedInException;;
	Integer getNoSaleReportCount(String userAccountName) throws NotLoggedInException;
	boolean deleteNoSaleReports(String userAccountName, ArrayList<Long> idReports)throws NotLoggedInException;
	boolean deleteSaleReports(String name, ArrayList<Long> idReports)throws NotLoggedInException;
	Integer getProductsSoldsCount(String userAName, Long idReport)throws NotLoggedInException;
}
